home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGMISC / PCSSP.LZH / PC-SSP.ZIP / MATSTOR.ZIP / XCPY.FOR < prev   
Text File  |  1985-11-29  |  2KB  |  65 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE XCPY
  5. C
  6. C        PURPOSE
  7. C           COPY A PORTION OF A MATRIX
  8. C
  9. C        USAGE
  10. C           CALL XCPY(A,R,L,K,NR,MR,NA,MA,MS)
  11. C
  12. C        DESCRIPTION OF PARAMETERS
  13. C           A  - NAME OF INPUT MATRIX
  14. C           R  - NAME OF OUTPUT MATRIX
  15. C           L  - ROW OF A WHERE FIRST ELEMENT OF R CAN BE FOUND
  16. C           K  - COLUMN OF A WHERE FIRST ELEMENT OF R CAN BE FOUND
  17. C           NR - NUMBER OF ROWS TO BE COPIED INTO R
  18. C           MR - NUMBER OF COLUMNS TO BE COPIED INTO R
  19. C           NA - NUMBER OF ROWS IN A
  20. C           MA - NUMBER OF COLUMNS IN A
  21. C           MS  - ONE DIGIT NUMBER FOR STORAGE MODE OF MATRIX A
  22. C                  0 - GENERAL
  23. C                  1 - SYMMETRIC
  24. C                  2 - DIAGONAL
  25. C
  26. C        REMARKS
  27. C           MATRIX R CANNOT BE IN THE SAME LOCATION AS MATRIX A
  28. C           MATRIX R IS ALWAYS A GENERAL MATRIX
  29. C
  30. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  31. C           LOC
  32. C
  33. C        METHOD
  34. C           MATRIX R IS FORMED BY COPYING A PORTION OF MATRIX A. THIS
  35. C           IS DONE BY EXTRACTING NR ROWS AND MR COLUMNS OF MATRIX A,
  36. C           STARTING WITH ELEMENT AT ROW L, COLUMN K
  37. C
  38. C     ..................................................................
  39. C
  40.       SUBROUTINE XCPY(A,R,L,K,NR,MR,NA,MA,MS)
  41.       DIMENSION A(1),R(1)
  42. C
  43. C        INITIALIZE
  44. C
  45.       IR=0
  46.       L2=L+NR-1
  47.       K2=K+MR-1
  48. C
  49.       DO 5 J=K,K2
  50.       DO 5 I=L,L2
  51.       IR=IR+1
  52.       R(IR)=0.0
  53. C
  54. C        LOCATE ELEMENT FOR ANY MATRIX STORAGE MODE
  55. C
  56.       CALL LOC(I,J,IA,NA,MA,MS)
  57. C
  58. C        TEST FOR ZERO ELEMENT IN DIAGONAL MATRIX
  59. C
  60.       IF(IA) 4,5,4
  61.     4 R(IR)=A(IA)
  62.     5 CONTINUE
  63.       RETURN
  64.       END
  65.